Anything that can assist users in entering data into computer systems saves time, money, and frustration. When entering large amounts of similar or identical data, users appreciate the existence of systems with the intelligence to make good predictions of possible input. Mechanisms such as shell histories or list boxes that remember previous input for some fields are well known today.
A prior art approach to predicting input is to collect a recent window of entries that were entered into a field as a collection of prior entries. When the user begins to type data into the field, the system examines the input keystrokes and may display in the input field one or more matching prior entries from the collection. The system may also offer a drop down list box displaying a list of potential entries. The user may then “arrow down” or select one of the matching entries, and, thus, does not need to type more than a few keystrokes in order to enter data into the field. An example of the prior art approach can be seen in many Microsoft products, for example, the Internet Explorer address field.
By examining only the prior entry data associated with the current, user-selected entry field, the prior art approach fails to take a holistic look at the entry screen. Data entry screens often contain more than one data field. The prior art fails to examine how data entries in a first field may be related to data entries in a second field, and, further fails to use any such relationship when providing the type-ahead or lookup features. For example, it is often the case on a data entry screen for a shipping address that a zip code and an area code are entered. Usually, an area code will be associated with only one, two, or three zip codes. The systems knowledge of the user entered area code should provide the system with good estimates of possible zip codes, prior to any typing from the user. The prior art approach fails to take the relationship between fields into account.